Dashboard Deployment Concepts

This part provides information and instructions for deploying dashboards. It discusses dashboard deployment considerations, dashboard deployment options, steps for deploying dashboards, tasks for managing dashboard data servers and dashboard display servers, and how to manage dashboard security.

Deployment options

There are two types of dashboard deployment:

  • Web-based: as a simple, thin-client web page.
  • Local: as a locally-installed desktop application (the Dashboard Viewer) together with dashboard-specific files that the application can open.

The section on the Data server and display server discusses some considerations that are relevant to choosing among deployment options.

Application installation

Local deployments require the use of the Dashboard Viewer desktop application (available on Windows platforms only). End users open locally-deployed dashboards in the Dashboard Viewer, which must be pre-installed locally or on a shared file system. See Building and Using Apama Dashboards for information about using the Dashboard Viewer.

With web-based deployment, the Dashboard Viewer does not need to be installed locally. Dashboards are invoked through a web browser, and are installed on demand, as web pages, so they can easily be deployed across a wide area network, including the internet.

Authentication

Web-based deployments provide web-based login functionality and use the authentication mechanism provided by your application server. They support authentication customization by allowing you to, for example, configure your application server to use the security realm and authentication service of your choice.

Local deployments include data server login functionality, and support authentication by allowing you to supply any JAAS-supported authentication module as a plug-in to the data server and to the Dashboard Viewer.

Info
In display server deployments, the user name is passed as an encrypted parameter in the URL. The length of an encrypted user name is greater than that of an unencrypted user name. Given the limits on the length of the URLs in browser GET requests, the effective limit on the length of a user name in a dashboard is approximately 1000 characters.

Authorization

Web-based deployments support role-based dashboard access control, which allows you to associate a role with a deployed dashboard, and to authorize use of the dashboard only for application-server users with the dashboard’s associated role.

Local deployments support dashboard access control by allowing you to use the system security mechanisms in order to restrict access to the deployed dashboard files.

Both types of deployment support DataView access control, which allows you to control who can have which type of access to which DataViews.

Data protection

With web-based deployments you can secure inter-process communication by enabling HTTPS in the application server. With local deployments you can secure inter-process communication by enabling secure sockets (SSL) in the data server or display server.

With both types of deployment you can secure inter-process communication through the use of secure channels (SSH) and virtual private networks (VPN).

Refresh latency

The display server’s minimum refresh latency (5 seconds) is greater than that of the data server. Use the data server for applications that require high-frequency screen updates.

Scalability

Both types of deployment are highly scalable, since both use the data server or display server to mediate access to correlators.

Data server and display server

The dashboard data server and display server can each serve as the gateway through which dashboards can access your applications running on the correlator. Use of these servers provides scalability by obviating client management on the part of the correlator, and provides security by not exposing the correlator directly to clients.

The data server mediates correlator access for local deployments; the display server mediates correlator access for simple thin-client, web-page deployments.

The data server delivers raw data from which deployed dashboards construct the visualization objects that they display. The display server, in contrast, delivers already-constructed visualization objects in the form of image files and image maps.

The display server’s minimum refresh latency (5 seconds) is greater than that of the data server. Use the data server for applications that require high-frequency screen updates.

Managing the data server and display server is covered in Managing the dashboard data server and display server.

Process architecture

Deployed dashboards connect to one or more correlators via a dashboard data server. As the DataViews in a correlator run and their variables change, update events are sent to all connected dashboards. When a dashboard receives an update event, it updates its display in real time to show the behavior of the DataViews. User interactions with the dashboard, such as creating an instance of a DataView, result in control events being sent via the data server to the correlator.

Simple, thin-client, web-page dashboards communicate with the display server via servlets that run on your application server. These servlets are bundled with Apama. You must provide your own Java web application server (servlet container). Typically, you install the dashboard servlets in your existing web infrastructure.

The following image shows the process architecture for thin-client, web-page deployments. Dashboards communicate with your application server, which communicates with the dashboard display server. The display server mediates access to the correlator.

Illustration of the process architecture for thin-client, web-page deployments

Locally-deployed dashboards communicate directly with the data server.

The following image shows the process architecture for local deployments. Dashboards communicate with the dashboard data server, which in turn communicates with the correlator(s).

Illustration of the process architecture for local deployments

You can scale your application by adding data servers to your configuration. Each correlator can communicate with multiple data servers, and each data server can communicate with multiple correlators.

The following image shows the process architecture after you add data servers to your configuration. Each correlator can communicate with multiple data servers and display servers. Each data server and display server can communicate with multiple correlators.

Illustration of the process architecture after adding data servers

Deployed dashboards have a unique associated default data server or display server, but advanced users can associate non-default data servers with specific attachments and commands. This provides additional scalability by allowing loads to be distributed among multiple servers. This is particularly useful for display server deployments. By deploying one or more data servers behind a display server, the labor of display building can be separated from the labor of data handling. The display server can be dedicated to building displays, while the overhead of data handling is offloaded to data servers. See Working with multiple data servers for more information.

Builders and administrators

There are two types of activity involved in making dashboards available to end users:

  • Dashboard development, which requires the use of the Apama Dashboard Builder, as well as the use of the command line to generate a deployment package. See Preparing Dashboards for Deployment.
  • Dashboard deployment, which requires installing the deployment package, as well as administering the data server or display server and managing dashboard security.

Sometimes these activities are performed by different individuals. In such a case, the dashboard developer must be sure to communicate the following information to the dashboard administrator regarding the dashboards to be deployed:

  • The location and file name of the .war file or .zip file that was generated when the developer prepared the dashboard for deployment.
  • For display server deployments, the location of the dashboard project directory (the directory that contains the .rtv files).
  • For web-based deployments, the data server or display server host, port, and update rate that the builder supplied.
  • The logical name for each correlator as well as the host name and port for each deployment correlator (if any) that was specified by the dashboard developer in the Apama tab of the Tools Options dialog prior to the generation of the deployment package. See Changing correlator definitions for deployment.
  • The trend-data caching requirements for the deployed dashboards. See Configuring trend-data caching.